package com.niiwoo.activity.stage.service.invite;

import java.util.List;

import com.niiwoo.activity.stage.dto.request.invite.InviteFriendInfoRequestDto;
import com.niiwoo.activity.stage.dto.request.invite.InviteeBorrowAndInvestInfoRequestDto;
import com.niiwoo.activity.stage.dto.response.invite.InviteFriendInfoResponseDto;
import com.niiwoo.activity.stage.dto.response.invite.InviteRankResponseDto;
import com.niiwoo.activity.stage.dto.response.invite.InviteeBorrowAndInvestInfoResponseDto;
import com.niiwoo.tripod.provider.dto.response.PageResponseDTO;

public interface InviteFriendInfoDubboService {

	/**
	 * 判断当前活动是否在活动中
	 */
	default boolean isActiviting(String activityCode){
		throw new UnsupportedOperationException("unimplemented");
	};

	/**
	 * 查询邀请人信息
	 * @param reqDto
	 * @return
	 */
	PageResponseDTO<InviteFriendInfoResponseDto> getInviteInfo(InviteFriendInfoRequestDto reqDto);

	/**
	 * 查询被邀请人信息
	 * @param reqDto intoType 1借款 0投资
	 * @return
	 */
	PageResponseDTO<InviteeBorrowAndInvestInfoResponseDto> getInviteeInfo(
			InviteeBorrowAndInvestInfoRequestDto reqDto);

	/**
	 * 获取邀请好友宣传页，参与总计，奖励总计
	 * 个人战绩
	 * @param userId
	 * @return
	 */
	InviteRankResponseDto getInviteFriendInfo(String userId);

	/**
	 * 获取邀请好友宣传页滚动推广数据
	 * @return
	 */
	List<InviteRankResponseDto> getInviteFriendGeneralizeInfo();

	/**
	 * 获取排行
	 * @param reqDto
	 * @return
	 */
	PageResponseDTO<InviteRankResponseDto> getInviteFriendRank(InviteeBorrowAndInvestInfoRequestDto reqDto);

	/**
	 * 更新邀请好友发放奖励统计
	 */
	void updateInviteFriendCacheData();
//	/**
//	 * 查询被邀请人投资信息
//	 * @param reqDto
//	 * @return
//	 */
//	PageResponseDTO<InviteeBorrowAndInvestInfoResponseDto> getInviteeInvestInfo(
//			InviteeBorrowAndInvestInfoRequestDto reqDto);

}
